Multi core vehicle management system and methods

ABSTRACT

A flight management system (FMS) including a plurality of FMS components that can include a civil FMS component and a tactical FMS component. Each FMS component can have a processor programmed to execute an FMS software product. The FMS can also include a multi core FMS manager configured to control a plurality of flight management systems and coupled to the plurality of FMS components. The multi core FMS manager can include a plurality of FMS managers, each coupled to one of the FMS components, and a platform interface manager coupled to an avionics system. Each FMS manager can be adapted to transmit flight management data to, and to receive flight management data from, the FMS component to which it is coupled. The platform interface manager can be adapted to provide each FMS component access to the avionics system, such that an aircraft operator can control each FMS component via the FMS.

Embodiments relate generally to vehicle management systems and methods and, more particularly, to dual core flight management systems and methods for running independent civil and tactical flight management system cores interacting with the avionics subsystem via a unified flight management system interface.

Military aircraft operating within civilian or commercial airspace may be subject to restrictions and unfavorable treatment based on a lack of civil or commercial avionics equipment or capabilities. For military aircraft operating within civilian or commercial airspace, a need may exist to be Communications, Navigation and Surveillance Systems for Air Traffic Management (CNS/ATM) compliant to avoid restrictions and unfavorable treatment. For military aircraft to meet CNS/ATM compliance requirements, a need may exist to integrate one or more civil flight management systems and one or more tactical flight management systems into a multi core flight management system that is CNS/ATM compliant and enables pilots to control both the civil and tactical flight management systems through an integrated user interface. In addition, flight management systems may be subjected to rigorous certification processes, such as DO-178B, that may require recertification if the certified software component is updated. A need may exist to enable each core of a multi core flight management system to be updated independently such that an update to one core component does not require full recertification of other core components.

One embodiment includes a computer system having a civil flight management system and a tactical flight management system within a dual-core flight management system. The computer system can include a civil flight management system component running a civilian flight management software product, a tactical flight management system component running a tactical flight management software product, and a dual core flight management system manager coupled to both the civil flight management system component and the tactical flight management system component. The dual-core flight management system manager can include a civil flight management system manager coupled to the civil flight management system, a tactical flight management system manager coupled to the tactical flight management system, and a platform interface manager coupled to an avionics system. The civil flight management system manager can be adapted to transmit civil flight management data to, and receive civil flight management data from, the civil flight management system component. The tactical flight management system manager can be adapted to transmit tactical flight management data to, and receive tactical flight management data from, the tactical flight management system component. The platform interface manager can be adapted to provide the civil flight management system component and the tactical flight management system component with access to the avionics system. The civil flight management system component, tactical flight management system component and the dual-core flight management system manager can run on one single board computer, and the civil flight management system component can be temporally and spatially isolated from the tactical flight management system component.

Another embodiment can include a flight management system. The flight management system can include a plurality of flight management system components, including a civil flight management system component and a tactical flight management system component, each having a processor programmed to execute a flight management software product. The flight management system can also include a multi core flight management system manager configured to control a plurality of flight management systems. The multi core flight management system manager can be coupled to the plurality of flight management system components. The multi core flight management system manager can include a plurality of flight management system managers, each coupled to one of the plurality of flight management system components. The multi core flight management system manager can also include a platform interface manager coupled to an avionics system. Each flight management system manager can be adapted to transmit flight management data to, and to receive flight management data from, the flight management system component to which the flight management system manager is coupled. The platform interface manager can be adapted to provide each flight management system component access to the flight system, such that an aircraft operator can control each flight management system component via the flight management system.

Another embodiment can include a computerized method for controlling a plurality of flight management systems encapsulated within a multi core flight management system. The method can include providing a plurality of flight management system components, each running a flight management software product, and each being encapsulated within a multi core flight management system that can include a multi core flight management system manager and can be adapted to manage an aircraft. The method can include receiving, at the multi core flight management system manager, a flight management system data message and transmitting the flight management system data message to one of the flight management system components indicated in the flight management system data message. The method can also include receiving, at the multi core flight management system manager, a flight management system data message from one of the plurality of flight management system components and transmitting the flight system data message to a corresponding avionics system component. The plurality of flight management system components and the multi core flight management system manager can be run on a single computer. The plurality of flight management system components can be temporally and spatially isolated from each other.

Another embodiment can include a computerized method for encapsulating a plurality of flight management systems within a multi core flight management system. The method can include partitioning a computer system into a plurality of temporally and spatially isolated partitions. The method can include running each of a plurality of flight management system component software products in a different one of the plurality of temporally and spatially isolated partitions. The plurality of flight management system component software products can include a civil flight management system component and a tactical flight management system component. The method can include running a multi core flight management system manager software component in one of the plurality of temporally and spatially isolated partitions. The multi core flight management system manager software component can receive one or more data messages from an avionics system component and transmit the one or more data messages to one or more of the plurality of flight management system component software products. The multi core flight management system manager software component can receive one or more data messages from one of the plurality of flight management system component software products and transmit the one or more data messages to one or more corresponding avionics system components.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary embodiment of a dual core flight management system.

FIG. 2 is a block diagram of an exemplary embodiment of a partitioned dual core flight management system.

FIG. 3 is a block diagram of an exemplary embodiment of a multi core flight management system.

FIG. 4 is a block diagram of an exemplary embodiment of a flight management system dual core manager.

FIG. 5 is a block diagram of an exemplary embodiment of a flight management system dual core manager.

FIG. 6 is a block diagram of an exemplary embodiment of a dual core flight management system including a flight management system dual core manager.

FIG. 7 is a block diagram showing an exemplary embodiment of a flight management system dual core manager A/C (Aircraft) systems manager.

FIG. 8 is a block diagram showing an exemplary embodiment of a flight management system dual core manager integrity and data manager.

FIG. 9 is a block diagram showing an exemplary embodiment of a flight management system dual core manager Communication, Navigation, Surveillance (CNS) manager.

FIG. 10 is a block diagram showing an exemplary embodiment of a flight management system dual core manager Controls and Display (C&D) manager.

FIG. 11 is a block diagram of an exemplary embodiment of a multi core flight management system.

FIG. 12 is a flowchart showing an exemplary method for transmitting data between a dual core flight management system and an avionics system.

FIG. 13 is a flowchart showing an exemplary method for sanitizing flight management data.

FIG. 14 is a flowchart showing an exemplary method for transmitting data between a multi core vehicle management system and a vehicle system.

FIG. 15 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data.

FIG. 16 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data.

FIG. 17 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data.

FIG. 18 is a flowchart showing an exemplary method for intercepting civil flight management data and transforming the data to include decoy identification data prior to transmission via a civil transponder.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an exemplary embodiment of a dual core flight management system. System 100 can include a dual core flight management system 102 that can include a civil flight management system 104 and a tactical flight management system 106. The dual core flight management system 102 can transmit data to and/or receive data from an avionics system, or avionics subsystem, 108.

In operation, the dual core flight management system 102 can transmit data to and/or receive data from the avionics system 108 according to the processes shown in FIGS. 12, 13, 14, 15, 16, 17, and 18. The dual core flight management system 102 can provide an interface for the civil flight management system 104 and the tactical flight management system 106 to communicate with the avionics system 108 as shown in FIGS. 2 and 6. The dual core flight management system 102 can be a software and/or hardware wrapper for the civil flight management system 104 and the tactical flight management system 106, and can provide one flight management system interface through which the civil flight management system 104 and the tactical flight management system 106 can communicate with the avionics system 108 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10. The dual core flight management system 102 can also provide a single interface through which the avionics system 108 can communicate with both the civil flight management system 104 and the tactical flight management system 106 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10.

FIG. 2 is a block diagram of an exemplary embodiment of a partitioned dual core flight management system 200. System 200 can include a dual core flight management system 202 that can include a civil partition 204, a manager partition 206, and a tactical partition 208. The civil partition 204 can include a civil flight management system component 210. The manager partition 206 can include a flight management system dual core manager 212. The tactical partition 208 can include a tactical flight management system component 214. The dual core flight management system 202 can transmit data to and/or receive data from an avionics system 216.

In operation, the dual core flight management system 202 can be a computer system and can be partitioned into temporally and spatially isolated partitions 204-208. The civil flight management system component 210 and the tactical flight management system component 214 can each be software components that can run within partitions 204 and 208, respectively. The flight management system dual core manager 212 can be a software product executing on a processor within partition 206.

The flight management system dual core manager 212 can receive data from the civil flight management system component 210 and/or the tactical flight management system component 214 and transmit the appropriate corresponding data to avionics system 216, based on the content of the data received and the flight management system component from which the data originated, as shown in FIGS. 4, 5, 6, 7, 8, 9, and 10.

The flight management system dual core manager 212 can receive data from the avionics system 216 and transmit the appropriate corresponding data to the civil flight management system component 210 and/or the tactical flight management system component 214, based on the content of the data received and the destination flight management system component, as shown in FIGS. 4, 5, 6, 7, 8, 9, and 10.

It will be appreciated that the flight management system dual core manager 212 can be run within any partition of the dual core flight management system 202 or in its own manager partition 206 as shown.

Additionally, it will be appreciated that, as shown in FIG. 3, the system 202 can also include a plurality of flight management system components that can each run within one of a plurality of partitions, and each of the plurality of flight management system components can transmit data to and/or receive data from the flight management system dual core manager 212.

The civil flight management system component 210 can include a software product, such as the Thales FMS 220 software product, certified to meet civilian aviation requirements, such as CNS/ATM and DO-178B. The tactical flight management system component 214 can include a software product certified to meet military aviation and/or tactical requirements that can be separate from those requirements imposed upon civilian aviation products. The temporal and spatial isolation of the flight management system components in system 200 can enable the updating of one flight management system component software product without the need to fully recertify and/or fully test the remaining flight management system component(s).

It will be appreciated that the dual core flight management system 202, including the flight management system dual core manager 212, the civil flight management system component 210, and the tactical flight management system component 214, can be executed on the same or different computers. When run on the same computer, a single board computer can run a partitioned real-time operating system such as LynxOS-178 RTOS to create the temporally and spatially isolated partitions (204-208) of the dual core flight management system 202.

FIG. 3 is a block diagram of an exemplary embodiment of a multi core flight management system. System 300 can include a multi core vehicle management system 304 that can include a plurality of vehicle management system components, vehicle management system component₁ 308 and vehicle management system component_(N) 310. The multi core vehicle management system 304 can transmit data to and/or receive data from a vehicle system, or vehicle subsystem, 306.

In operation, the multi core flight management system 304 can transmit data to and/or receive data from the vehicle system 306 according to the processes shown in FIGS. 12, 13, 14, 15, 16, 17, 18, and 19. The multi core flight management system 304 can provide an interface for the plurality of vehicle management system components, vehicle management system component₁ 308 through vehicle management system component_(N) 310, to communicate with the vehicle system 306 as shown in FIGS. 2 and 6. The multi core flight management system 304 can be a software and/or hardware wrapper for the plurality of vehicle management system components, vehicle management system component₁ 308 through vehicle management system component_(N) 310, and can provide one vehicle management system interface through which the plurality of vehicle management system components, vehicle management system component₁ 308 through vehicle management system component_(N) 310, can communicate with the vehicle system 306 as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10. The multi core flight management system 304 can also provide a single interface through which the vehicle system 306 can communicate with the plurality of vehicle management system components, vehicle management system component₁ 308 through vehicle management system component_(N) 310, as shown in FIGS. 2, 4, 5, 6, 7, 8, 9, and 10.

FIG. 4 is a block diagram of an exemplary embodiment of a flight management system dual core manager. The system 400 can include a dual core flight management system 402 that can include a civil flight management system component (or civil core flight management program component) 404, a tactical flight management system component (or tactical core flight management program component) 406, and a flight management system dual core manager 408. The dual core flight management system 402 can transmit data to and/or receive data from an avionics subsystem (or avionics systems) 410. The avionics systems 410 can include a second and/or redundant flight management system 412, a data transfer system 414, a multi-function display (MFD) and multipurpose control display unit (MDCU) 416, a civil datalink and surveillance system 418, a navigational sensors 420, and an automatic flight control system (AFCS) 422.

In operation, the dual core flight management system 402 can transmit data to and/or receive data from the avionics systems 410. Data can be transmitted by the avionics systems 410 and received by the dual core flight management system 402 at the flight management system dual core manager 408.

The dual core flight management system 402 can be a computer system that can be partitioned into temporally and spatially isolated partitions, in which the civil flight management system component 404, the tactical flight management system component 406, and the flight management system dual core manager 408 can each run in a separate partition as shown in FIG. 2.

It will be appreciated that the avionics systems 410 may be attached to the dual core flight management system 402 using any connection type now known or later developed. Additionally, it will be appreciated that the avionics system can include any avionics hardware and software interfaces now known or later developed.

FIG. 5 is a block diagram of an exemplary embodiment of a flight management system dual core manager. The system 500 can include a dual core flight management system 502 that can include a civil flight management system component (or civil core flight management program component) 504, a tactical flight management system component (or tactical core flight management program component) 506, and a flight management system dual core manager 508. The dual core flight management system 502 can transmit data to and/or receive data from an avionics subsystem (or avionics systems) 510. The avionics systems 510 can include a second and/or redundant flight management system 512, a data transfer system 514, a multi-function display and multipurpose control display unit 516, a civil datalink and surveillance system 518, a navigational sensors 520, and an automatic flight control system 522.

The civil flight management system component 504 can include a flight planning module 524, a navigation module 526, a guidance module 528, and a trajectory/prediction module 530.

The civil flight planning module 524 can provide civil flight plan management, path definition, and/or a navigation database. Civil flight plan management can include the creation, modification, and/or selection of primary and secondary flight plans. Path definition can include providing sequences of waypoints, airways, flight levels, departure procedures, and/or arrival procedures to fly from the origin to the destination, and/or alternates. Providing a navigation database can include: managing the creation, designation, and/or storage or waypoints; providing a Jeppesen database and a user defined database; and/or providing appropriate NAVAIDs such as enroute, terminal, and/or approach procedures.

The civil navigation module 526 can provide navigation sensor management, localization, and/or a best computed position. Navigation sensor management can include controlling navigation sensors during civilian flight legs. Localization can be based on the available navigation sources.

The civil guidance module 528 can provide lateral navigation, vertical navigation, and speed control. Lateral navigation can be computed with respect to great circle paths defined by the flight plan, and/or with respect to transitional paths between the great circle paths, and/or with respect to preset headings or courses. Vertical navigation can be computed with respect to altitudes assigned to waypoints, and/or to paths defined by stored or computed profiles. Speed control along the desired path can be provided during one or more phases of flight.

The civil trajectory prediction module 530 can provide trajectory prediction and performance calculations. Trajectory prediction can include distance, time, speed, altitude, and/or gross weight at one or more future waypoints in the flight plan. Trajectory prediction can also include computing waypoints such as top-of-climb and/or top-of-descent. Providing performance calculations can include optimizing the vertical and/or speed profiles to minimize the cost of the flight and/or to meet some other criterion, subject to a variety of constraints.

The tactical flight management system component 506 can include a flight planning module 540, a navigation module 542, a guidance module 544, and a trajectory/prediction module 546.

The tactical flight planning module 540 can provide tactical flight plan management, tactical path definition, and/or a navigational database. Tactical flight plan management can include creation, modification, and/or selection of tactical flight plan and/or tactical waypoints. Tactical path definition can include holding patterns, search and/or rescue patterns, air refueling planning, air drop planning, formation flight, and/or lateral offset. Providing a navigation database can include managing the creation, designation, and/or storage of tactical waypoints. The navigation database can include a Digital Aeronautical Flight Information File (DAFIF) database and/or a user defined database. Additionally, the navigation database can provide appropriate navigational aids including but not limited to enroute, terminal, and/or approach procedures.

The tactical navigation module 542 can provide navigation sensor management, tactical navigation, and/or a best computed position. The navigation sensor management can include control of navigation sensors during tactical flight legs and/or auto tuning.

The tactical guidance module 544 can provide lateral guidance and/or vertical guidance. Lateral guidance can include beacon following, Personnel Locating Service (PLS), terrain following, terrain avoidance, and/or hover mode. Vertical guidance can include radar altitude select, low level navigation, auto re-route, air drop guidance, and/or air refueling guidance.

The tactical trajectory prediction module 546 can provide Computed Air Release Point/High Altitude Release Point (CARP/HARP) calculations, Time of Arrival Control (TOAC), fuel estimate calculations, and/or tactical performance.

The flight management system dual core manager 508 can include an integrity and data management module 532, a controls and display (C&D) module 534, a communication, navigation, and surveillance (CNS) manager 536, and an aircraft (A/C) systems manager 538.

In operation, the dual core flight management system 502 can transmit data to and/or receive data from the avionics systems 510. Data can be transmitted by the avionics systems 510 to the dual core flight management system 502 where it is received by the flight management system dual core manager 508 and then transmitted, in a modified form if appropriate, to one or more of the flight management system components (504, 506). A data message can also be transmitted by one or more of the flight management system components (504, 506) and received by the flight management system dual core manager 508, and the flight management system dual core manager 508 can transmit the data message, in a modified form if appropriate, to the avionics systems 510.

The dual core flight management system 502 can be a computer system that can be partitioned into temporally and spatially isolated partitions, in which the civil flight management system component 504, the tactical flight management system component 506, and the flight management system dual core manager 508 can each run in a temporally and spatially isolated partition as shown in FIG. 2.

FIG. 6 is a block diagram of an exemplary embodiment of a dual core flight management system including a flight management system dual core manager. The system 600 can include a dual core flight management system 602 that can include a civil flight management system component (or civil core flight management program component) 604, a tactical flight management system component (or tactical core flight management program component) 606, and a flight management system dual core manager 608. The dual core flight management system 602 can transmit data to and/or receive data from an avionics subsystem (or avionics systems) 610. The avionics systems 610 can include a second and/or redundant flight management system 612, a data transfer system 614, a multi-function display and multipurpose control display unit 616, a civil datalink and surveillance system 618, a navigational sensors 620, and an automatic flight control system 622.

The civil flight management system component 604 can include a flight planning module 624, a navigation module 626, a guidance module 628, and a trajectory and/or prediction module 630 corresponding to modules 524-530 described above and shown in FIG. 5. Similarly, the tactical flight management system component 606 can include a flight planning module 640, a navigation module 642, a guidance module 644, and a trajectory prediction module 646 corresponding to modules 540-546 described above and shown in FIG. 5.

The flight management system dual core manager 608 can include an integrity and data management manager 632, a controls and display (C&D) manager 634, a communication, navigation, and surveillance (CNS) manager 636, and an aircraft (A/C) systems manager 638. The flight management system dual core manager 608 can also include a system manager 652, a civil flight management system component manager 650, a tactical flight management system component manager 654, and a platform interface manager 656.

In operation, the dual core flight management system 602 can transmit data to and/or receive data from the avionics systems 610. Data received by the dual core flight management system 602 from the avionics systems 610 can be received by the platform interface manager 656. The flight management system dual core manager 608 can apply any appropriate transformations to the data before the data and/or transformed data is transmitted to the appropriate flight system management component, as shown in FIGS. 12, 13, and 14.

Data transmitted by the civil flight management system component 604 can be received by the civil flight management system component manager 650 and can be transmitted the avionics systems 610 via the platform interface manager 656. The flight management system dual core manager 608 can apply any appropriate transformations to the data before the data and/or transformed data is transmitted to the avionics systems 610 via the platform interface manager 656, as shown in FIGS. 12, 13, and 14.

Data transmitted by the tactical flight management system component 606 can be received by the tactical flight management system component manager 654 and can be transmitted the avionics systems 610 via the platform interface manager 656. The flight management system dual core manager 608 can apply any appropriate transformations to the data before the data and/or transformed data is transmitted to avionics systems 610 via the platform interface manager 656, as shown in FIGS. 12, 13, and 14.

The dual core flight management system 602 can be a computer system that can be partitioned into temporally and spatially isolated partitions, in which the civil flight management system component 604, the tactical flight management system component 606, and the flight management system dual core manager 608 can each run in a temporally and spatially isolated partition as shown in FIG. 2 and described above.

FIG. 7 is a block diagram showing an exemplary embodiment of a flight management system dual core manager A/C (Aircraft) systems manager. System 700 can include a flight management system dual core manager 704 that includes an aircraft systems manager 710. The flight management system dual core manager 704 can receive data from and transmit data to a civil flight management system component 702 and a tactical flight management system component 706. The flight management system dual core manager 704 can also receive data from and transmit data to an avionics system 708.

In operation, the aircraft systems manager 710 can provide path deviation control and/or performance data management. The aircraft systems manager 710 can receive aircraft status data transmitted by the avionics system 708 and transmit aircraft status data to the civil flight management system component 702 and the tactical flight management system component 706.

The aircraft systems manager 710 can receive trajectory prediction data, aircraft sensor control data, and/or time and/or fuel estimate data transmitted by the civil flight management system component 702 and the tactical flight management system component 706. The aircraft systems manager 710 can transmit path deviation error data and/or aircraft sensor control data to the avionics system 708.

FIG. 8 is a block diagram showing an exemplary embodiment of a flight management system dual core manager integrity and data manager. System 800 can include a flight management system dual core manager 804 that includes flight management system integrity and data manager 810. The flight management system dual core manager 804 can receive data from and transmit data to a civil flight management system component 802 and a tactical flight management system component 806. The flight management system dual core manager 804 can also receive data from and transmit data to an avionics system 808.

In operation, the flight management system integrity and data manager 810 can provide flight plan management, navigation database management, flight management system X-Talk management, and/or flight management system health/status management. The flight management system integrity and data manager 810 can receive navigation database data, navaids, and/or flight management system X-Talk data from and transmit data requests, flight management system health/status data, and/or flight management system X-Talk data to the avionics system 808.

The flight management system integrity and data manager 810 can transmit civil versus tactical control data, primary flight plan data, secondary flight plan data, flight management system mode data, Jeppesen database data, user database data, navaids data, and/or flight management system health/status data that can be received by the civil flight management system component 802. The civil flight management system component 802 can transmit civil flight plan data, path definition data, and/or civil flight management system health/status data that can be received by the flight management system integrity and data manager 810.

The flight management system integrity and data manager 810 can transmit civil versus tactical control data, primary flight plan data, secondary flight plan data, flight management system mode data, Digital Aeronautical Flight Information File (DAFIF) database data, user database data, navaids data, and/or flight management system health/status data that can be received by the civil flight management system component 802. The tactical flight management system component 806 can transmit tactical flight plan data, path definition data, and/or tactical flight management system health/status data that can be received by the flight management system integrity and data manager 810.

FIG. 9 is a block diagram showing an exemplary embodiment of a flight management system dual core manager Communication, Navigation, Surveillance (CNS) manager. System 900 can include a flight management system dual core manager 904 that includes a Communication, Navigation, Surveillance (CNS) manager 910. The flight management system dual core manager 904 can receive data from and transmit data to a civil flight management system component 902 and a tactical flight management system component 906. The flight management system dual core manager 904 can also receive data from and transmit data to an avionics system 908.

In operation, the Communication, Navigation, Surveillance (CNS) manager 910 can provide civilian datalink management, tactical datalink management, communications equipment management, air-traffic control, navigation sensor management, and/or surveillance device management.

The Communication, Navigation, Surveillance (CNS) manager 910 can transmit navigation sensor control data, Airline Operational Control/Air Traffic Control (AOC/ATC) data, Identification Friend Foe (IFF) data, Mode-S data, and/or communication radio control data that can be received by the avionics system 908. The avionics system 908 can transmit navigation sensor data, Automatic Dependent Surveillance-Broadcast (ADS-B) data, Communications Management Unit (CMU) data, AOC/ATC data, tactical datalink data, Identification Friend Foe data, Mode-S data, and/or CNS device status data that can be received by the Communication, Navigation, Surveillance (CNS) manager 910.

The Communication, Navigation, Surveillance (CNS) manager 910 can transmit navigation sensor data, ADS-B data, and/or CMU data that can be received by the civil flight management system component 902. The civil flight management system component 902 can transmit navigation sensor control data, Required Navigation Performance (RNP) data, Lateral Navigation (LNAV) data, Vertical Navigation (VNAV) data, Identification Friend Foe (IFF) data, Mode-S data, and/or ADS-B data that can be received by the Communication, Navigation, Surveillance (CNS) manager 910.

The Communication, Navigation, Surveillance (CNS) manager 910 can transmit navigation sensor data and/or tactical datalink data that can be received by the tactical flight management system component 906. The tactical flight management system component 906 can transmit navigation sensor control that can be received by the Communication, Navigation, Surveillance (CNS) manager 910.

FIG. 10 is a block diagram showing an exemplary embodiment of a flight management system dual core manager Controls and Display (C&D) manager. System 1000 can include a flight management system dual core manager 1004 that includes a controls and display (C&D) manager 1010. The flight management system dual core manager 1004 can receive data from and transmit data to a civil flight management system component 1002 and a tactical flight management system component 1006. The flight management system dual core manager 1004 can also receive data from and transmit data to an avionics system 1008.

In operation, the controls and display (C&D) manager 1010 provides a common on screen interface (OSI). The controls and display (C&D) manager 1010 can transmit CAW data, common display data, and/or user response data that can be received by the avionics system 1008. The avionics system 1008 can transmit user inputs, user requests, and/or user overrides that can be received by the controls and display (C&D) manager 1010.

The civil flight management system component 1002 can transmit CAW data and/or display data that can be received by the controls and display (C&D) manager 1010. The controls and display (C&D) manager 1010 can transmit user inputs, user requests, and/or user overrides that can be received by the civil flight management system component 1002.

The tactical flight management system component 1006 can transmit CAW data and/or display data that can be received by the controls and display (C&D) manager 1010. The controls and display (C&D) manager 1010 can transmit user inputs, user requests, and/or user overrides that can be received by the tactical flight management system component 1006.

FIG. 11 is a block diagram of an exemplary embodiment of a multi core vehicle management system. System 1100 can include a computer 1102 that can include a processor 1104 and a memory 1106. The computer 1102 can transmit data to and/or receive data from a vehicle system, or vehicle subsystem, 1108.

In operation, the processor 1104 will execute instructions stored on the memory 1106 that cause the computer 1102 to transmit data to and/or receive data from the vehicle system 1108 according to the processes shown in FIG. 12 through 19.

It will be appreciated that the vehicle system 1108 may be attached to the system using any connection type now known or later developed.

The system 1100 can be a dual core flight management system as shown in FIGS. 2 and 6 and described above. The computer 1102 can be partitioned, as shown in FIG. 2, so that the civil flight management system component 210 and the tactical flight management system component 214 can be run in separate partitions and thereby can be temporally isolated on the processor 1104 and spatially isolated on the memory 1106.

It will be appreciated that the computer 1102 can have more than one processor.

FIG. 12 is a flowchart showing an exemplary method for transmitting data between a dual core flight management system and an avionics system 1200. Processing begins at 1202 and continues to 1204.

At 1204, a data message having a destination component is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The destination component can be the avionics subsystem 610, an avionics subsystem component (612-622), and/or a flight management system component (604, 606). For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 or the tactical flight management system component 606 with a destination component set to the avionics subsystem 610. Processing continues to 1206.

At 1206, the data message is sanitized based on the sender of the data message and the destination component. Sanitizing the data message can be performed according to the processes shown in FIGS. 13 and 14. For example, sanitizing can include reducing the precision of geographic location data and/or the redaction of classified data, as described below and shown in FIG. 13. Processing continues to 1208.

At 1208, the sanitized data message is transmitted to the destination component. Processing continues to 1210, where processing ends.

It will be appreciated that operations 1204-1208 may be repeated in whole or in part (an example of which is indicated by line 1212) to receive a response data message from the destination component, sanitize the response data message, and transmit the sanitized response data message to the sender of the original data message.

It will also be appreciated that operations 1204-1208 may be repeated in whole or in part (an example of which is indicated by line 1212) to maintain current (regularly or continuously updated) data transmissions.

FIG. 13 is a flowchart showing an exemplary method for sanitizing flight management data 1300. Processing begins at 1302 and continues to 1304.

At 1304, a data message having a destination component is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The destination component can be the avionics subsystem 610, an avionics subsystem component (612-622), and/or a flight management system component (604, 606). For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 or the tactical flight management system component 606 with a destination component set to the avionics subsystem 610. Processing continues to 1306.

At 1306, the precision of geographic location data (GPS data) contained within the data message is reduced to an unclassified resolution. For example, a data message having a destination component set to the civil flight management system component 604 can have sensitive and/or classified GPS data converted to a precision that is appropriate for transmission to an unclassified and/or civil flight management system component. In another example, a data message having a destination component set to an unclassified avionics system component can have sensitive and/or classified GPS data converted to a precision that is appropriate for transmission to an unclassified avionics system component. Processing continues to 1308.

At 1308, any remaining classified data contained within the data message is redacted. Redacting can include zeroing out, truncating, populating the classified areas of the data with random data, or any other method to remove the classified data from the data message. Processing continues to 1310.

At 1310, the data message is transmitted to the destination component. Processing continues to 1312, where processing ends.

It will also be appreciated that operations 1304-1308 may be repeated in whole or in part (an example of which is indicated by line 1312) to maintain current (regularly or continuously updated) data transmissions.

FIG. 14 is a flowchart showing an exemplary method for transmitting data between a multi core vehicle management system and a vehicle system 1400. Processing begins at 1402 and continues to 1404.

At 1404, a data message is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The data message can have a destination component indicating the component to which the data message is to be transmitted. The destination component can be part of the data message, determined by the content of the data message, determined by the method, service, or communication channel through which the data message was received, and/or determined by any other means associating the data message with one or more destination components. The destination component can be a vehicle subsystem 306 and/or a vehicle subsystem component (e.g., 612-622), or one of a plurality of flight management system components (308, 310), as shown in FIG. 3. For example, the platform interface manager 656 can receive a data message originating from one of the vehicle management system components (308, 310) with a corresponding destination component being the vehicle subsystem 306. Processing continues to 1406.

At 1406, a determination is made based on the classification level and/or type of the destination component. If the destination component is unclassified or civil, then processing can continue to 1408, otherwise processing can continue to 1410. For example, the destination component may be an unclassified transponder or an unclassified vehicle management system component, e.g. a civil flight management system component.

At 1408, the data message is sanitized and/or countermeasures are applied. Sanitizing and/or applying countermeasures to the data message can be performed according to the processes shown in FIGS. 13, 14, 15, 16, 17, and 18. Processing continues to 1410.

At 1410, the sanitized and/or filtered data message is transmitted to the destination component. Processing continues to 1412, where processing ends.

It will be appreciated that operations 1404-1410 may be repeated in whole or in part (an example of which is indicated by line 1414) to maintain current (regularly or continuously updated) data transmissions.

FIG. 15 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data 1500. Processing begins at 1502 and continues to 1504.

At 1504, a data message is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The data message can have a destination component indicating the component to which the data message is to be transmitted. The destination component can be part of the data message, determined by the content of the data message, determined by the method, service, or communication channel through which the data message was received, and/or determined by any other means associating the data message with one or more destination components. For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 with a destination component set to a civil transponder in the avionics subsystem 610. For example, the platform interface manager 656 can receive a data message originating from the tactical flight management system component 604 with a destination component set to an unclassified transponder in the avionics subsystem 610. Processing continues to 1506.

At 1506, portions of the data message that contain geographic position data are replaced with decoy geographic position data. For example, data messages created by the civil flight management system component can contain the aircraft's past and/or current and/or planned future geographic location, such as GPS coordinates, and this geographic location data can be replaced with decoy geographic location data so that the aircraft's true past and/or current and/or planned future geographic location is not transmitted via the civil transponder. For example, data messages created by the tactical flight management system component can contain the aircraft's past and/or current and/or planned future geographic location, such as GPS data, and this geographic location data can be replaced with decoy geographic location data so that the aircraft's true past and/or current and/or planned future geographic location is not transmitted via an unclassified transponder. Processing continues to 1508.

At 1508, the data message containing the decoy vehicle identifier data is transmitted. For example, the data message can be transmitted via a civil transponder and/or an unclassified transponder. Processing continues to 1510, where processing ends.

It will be appreciated that operations 1504-1508 may be repeated in whole or in part (an example of which is indicated by line 1512) to maintain current (regularly or continuously updated) decoy data transmissions.

FIG. 16 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data 1600. Processing begins at 1602 and continues to 1604.

At 1604, a data message is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The data message can have a destination component indicating the component to which the data message is to be transmitted. The destination component can be part of the data message, determined by the content of the data message, determined by the method, service, or communication channel through which the data message was received, and/or determined by any other means associating the data message with one or more destination components. For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 with a destination component set to a civil transponder in the avionics subsystem 610. For example, the platform interface manager 656 can receive a data message originating from the tactical flight management system component 604 with a destination component set to an unclassified transponder in the avionics subsystem 610. Processing continues to 1606.

At 1606, portions of the data message that contain a vehicle identifier are replaced with a decoy vehicle identifier. For example, an aircraft identifier, N12345, can be included within data messages created by the civil flight management system component and the aircraft identifier can be replaced with a decoy identifier so that the true identifier is not transmitted via the civil transponder. Processing continues to 1608.

At 1608, the data message containing the decoy vehicle identifier data is transmitted. For example, the data message can be transmitted via a civil transponder and/or an unclassified transponder. Processing continues to 1610, where processing ends.

It will be appreciated that operations 1604-1608 may be repeated in whole or in part (an example of which is indicated by line 1612) to maintain current (regularly or continuously updated) data transmissions.

FIG. 17 is a flowchart showing an exemplary method for performing countermeasure transmission of decoy vehicle data 1700. Processing begins at 1702 and continues to 1704.

At 1704, a data message is received. The data message can be received by the platform interface manager 656, as shown in FIG. 6. The data message can have a destination component indicating the component to which the data message is to be transmitted. The destination component can be part of the data message, determined by the content of the data message, determined by the method, service, or communication channel through which the data message was received, and/or determined by any other means associating the data message with one or more destination components. For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 with a destination component set to a civil transponder in the avionics subsystem 610. For example, the platform interface manager 656 can receive a data message originating from the tactical flight management system component 604 with a destination component set to an unclassified transponder in the avionics subsystem 610. Processing continues to 1706.

At 1706, portions of the data message that contain a vehicle type are replaced with a decoy vehicle type. For example, an aircraft type, such as F16, can be included within data messages created by the civil flight management system component and the aircraft type can be replaced with a decoy identifier, such as A30B, so that the true type is not transmitted via the civil transponder. Processing continues to 1608.

At 1708, the data message containing the decoy vehicle type data is transmitted. For example, the data message can be transmitted via a civil transponder and/or an unclassified transponder. Processing continues to 1710, where processing ends.

It will be appreciated that operations 1704-1708 may be repeated in whole or in part (an example of which is indicated by line 1712) to maintain current (regularly or continuously updated) data transmissions.

FIG. 18 is a flowchart showing an exemplary method for intercepting civil flight management data and transforming the data to include decoy identification data prior to transmission via a civil transponder 1800. Processing begins at 1802 and continues to 1804.

At 1804, a data message is received. The data message can be a flight management data message that can be transmitted by the civil flight management system component 604 and received by the platform interface manager 656, as shown in FIG. 6. The data message can have a destination component indicating the component to which the data message is to be transmitted. The destination component can be part of the data message, determined by the content of the data message, determined by the method, service, or communication channel through which the data message was received, and/or determined by any other means associating the data message with one or more destination components. The destination component can be an avionics subsystem 610 and/or a civil transponder, as shown in FIG. 6. For example, the platform interface manager 656 can receive a data message originating from the civil flight management system component 604 with a destination component set to a civil transponder in the avionics subsystem 610. For example, the platform interface manager 656 can receive a data message originating from the tactical flight management system component 604 with a destination component set to an unclassified transponder in the avionics subsystem 610. Processing continues to 1806.

At 1806, geographic position data, such as GPS data, contained within the data message is replaced with decoy geographic position data as described at 1506. Processing continues to 1808.

At 1808, any vehicle identifiers contained within the data message are replaced with decoy vehicle identifiers as described at 1606. Processing continues to 1810.

At 1810, any vehicle type designator contained within the data massage is replaced with a decoy vehicle type designator as described at 1706. Processing continues to 1812.

At 1812, the data message containing the decoy data is transmitted. For example, the data message can be transmitted via a civil transponder and/or an unclassified transponder. Processing continues to 1814, where processing ends.

It will be appreciated that operations 1804-1812 may be repeated in whole or in part (an example of which is indicated by line 1816) to maintain current (regularly or continuously updated) data transmissions.

It will be appreciated that the modules, processes, systems, and sections described above can be implemented in hardware, hardware programmed by software, software instructions stored on a nontransitory computer readable medium or a combination of the above. A dual core flight management system, for example, can include using a processor configured to execute a sequence of programmed instructions stored on a nontransitory computer readable medium. For example, the processor can include, but not be limited to, a personal computer or workstation or other such computing system that includes a processor, microprocessor, microcontroller device, or is comprised of control logic including integrated circuits such as, for example, an Application Specific Integrated Circuit (ASIC). The instructions can be compiled from source code instructions provided in accordance with a programming language such as Java, C++, C#.net or the like. The instructions can also comprise code and data objects provided in accordance with, for example, the Visual Basic™ language, or another structured or object-oriented programming language. The sequence of programmed instructions and data associated therewith can be stored in a nontransitory computer-readable medium such as a computer memory or transponder device which may be any suitable memory apparatus, such as, but not limited to ROM, PROM, EEPROM, RAM, flash memory, disk drive and the like.

Furthermore, the modules, processes systems, and sections can be implemented as a single processor or as a distributed processor. Further, it should be appreciated that the steps mentioned above may be performed on a single or distributed processor (single and/or multi-core, or cloud computing system). Also, the processes, system components, modules, and sub-modules described in the various figures of and for embodiments above may be distributed across multiple computers or systems or may be co-located in a single processor or system. Exemplary structural embodiment alternatives suitable for implementing the modules, sections, systems, means, or processes described herein are provided below.

The modules, processors or systems described above can be implemented as a programmed general purpose computer, an electronic device programmed with microcode, a hard-wired analog logic circuit, software stored on a computer-readable medium or signal, an optical computing device, a networked system of electronic and/or optical devices, a special purpose computing device, an integrated circuit device, a semiconductor chip, and a software module or object stored on a computer-readable medium or signal, for example.

Embodiments of the method and system (or their sub-components or modules), may be implemented on a general-purpose computer, a special-purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmed logic circuit such as a PLD, PLA, FPGA, PAL, or the like. In general, any processor capable of implementing the functions or steps described herein can be used to implement embodiments of the method, system, or a computer program product (software program stored on a nontransitory computer readable medium).

Furthermore, embodiments of the disclosed method, system, and computer program product may be readily implemented, fully or partially, in software using, for example, object or object-oriented software development environments that provide portable source code that can be used on a variety of computer platforms. Alternatively, embodiments of the disclosed method, system, and computer program product can be implemented partially or fully in hardware using, for example, standard logic circuits or a VLSI design. Other hardware or software can be used to implement embodiments depending on the speed and/or efficiency requirements of the systems, the particular function, and/or particular software or hardware system, microprocessor, or microcomputer being utilized. Embodiments of the method, system, and computer program product can be implemented in hardware and/or software using any known or later developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the function description provided herein and with a general basic knowledge of the computer programming and network security arts.

Moreover, embodiments of the disclosed method, system, and computer program product can be implemented in software executed on a programmed general purpose computer, a special purpose computer, a microprocessor, or the like.

It is, therefore, apparent that there is provided, in accordance with the various embodiments disclosed herein, computer systems, methods and software for dual core flight management systems.

While the invention has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications and variations would be or are apparent to those of ordinary skill in the applicable arts. Accordingly, Applicants intend to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of the invention. 

What is claimed is:
 1. A computerized method for controlling a plurality of flight management systems encapsulated within a multi core flight management system, the method comprising: providing a civil flight management system component running a civilian flight management software product; providing a tactical flight management system component running a tactical flight management software product, wherein the civil flight management system component and the tactical flight management system component are each encapsulated within a multi core flight management system adapted to manage an aircraft, said multi core flight management system including a multi core flight management system manager, and wherein said civil flight management system component is updateable through a civil flight management system manager in the multi core flight management system manager, and wherein said tactile flight management system component is updateable through a tactical flight management system manager in the multi core flight management system manager; receiving, at a flight management platform interface, a first flight management system data message and transmitting said first flight management system data message to the multi core flight management system manager; generating, at the multi core flight management system manager, a transformed flight management system data message from the first flight management system data message, and transmitting said transformed flight management system data message to one of the civil and tactical flight management system components indicated by said first flight management system data message via a respective one of the civil and tactical flight management system managers; and receiving, at said multi core flight management system manager, a second flight management system data message from one of said civil and tactical flight management system components and transmitting said second flight system data message to a corresponding avionics system component, wherein said civil and tactical flight management system components and said multi core flight management system manager run on a single computer, and said civil and tactical of flight management system components are temporally and spatially isolated from each other.
 2. The method of claim 1, wherein the computer is a single board computer.
 3. The method of claim 1, wherein the civil flight management system component is unclassified and the tactical flight management component is classified.
 4. The method of claim 1, wherein said avionics system includes an unclassified transponder.
 5. A computerized method for encapsulating a plurality of flight management systems within a multi core flight management system, the method comprising: partitioning a computer system into a plurality of temporally and spatially isolated partitions; running each of a plurality of flight management system component software products in a different one of the plurality of temporally and spatially isolated partitions, said plurality of flight management system component software products including a civil flight management system component and a tactical flight management system component, and said civil flight management system component and said tactical flight management system component each being independently updateable through a multi core flight management system manager; running a multi core flight management system manager software component in one of the plurality of temporally and spatially isolated partitions; receiving, at said multi core flight management system manager software component, one or more data messages from an avionics system component; generating, at said multi core flight management system manager software component, one or more transformed data messages from the one or more data messages, and transmitting said one or more transformed data messages to one or more of the plurality of flight management system component software products; and receiving, at said multi core flight management system manager software component, one or more other data messages from one of the plurality of flight management system component software products and transmitting said one or more other data messages to one or more corresponding avionics system components of the avionics system.
 6. The method of claim 5, wherein said civil flight management system component is unclassified and said tactical flight management component is classified.
 7. The method of claim 5, wherein said avionics system includes an unclassified transponder.
 8. The method of claim 5, wherein said computer system is a single board computer.
 9. The method of claim 1, wherein the multi core flight management system is partitioned into a plurality of temporally and spatially isolated partitions, the civil vehicle management system component is provided in a first temporally and spatially isolated partition, and the tactile vehicle management system component is provided in a second temporally and spatially isolated partition.
 10. The method of claim 5, wherein the civil flight management system component and the tactical flight management system component are not contained within a same one of the plurality of temporally and spatially isolated partitions.
 11. The method of claim 1, further comprising: receiving, at said multi core flight management system manager, one or more data messages from an avionic system; and transmitting said one or more data messages to the civil vehicle management system component and the tactical vehicle management system component.
 12. The method of claim 5, wherein said transmitting said one or more data messages to one or more of the plurality of flight management system component software products includes transmitting said one or more data messages to the civil vehicle management system component and the tactical vehicle management system component.
 13. The method of claim 1, wherein the generating of the transformed flight management system data message includes at least one selected reducing global positioning system (GPS) precision, redacting classified data, replacing geographic position data with decoy geographic position data, and replacing vehicle information data with decoy vehicle information data.
 14. The method of claim 5, wherein the generating of the one or more transformed data messages includes at least one selected reducing global positioning system (GPS) precision, redacting classified data, replacing geographic position data with decoy geographic position data, and replacing vehicle information data with decoy vehicle information data. 